Data compression in applications often is performed using mathematical transform methods that permit capture of details in the data while at the same time representing the data in an efficient manner. One such data compression technique uses wavelet transforms.
Two well-known wavelet systems are the Haar and the Daubechies wavelet systems. Haar wavelets are easy to understand and implement, and serve as a convenient precursor to the much acclaimed Daubechies wavelets. Haar wavelets use a square wave basis function to detect large shifts in slowly changing data distributions and then produce a series of discontinuous square boxes of various sizes shifted along the time axis. In general, approximation by a Haar wavelet to complex data distributions requires many flat-top pieces to fit making compressibility difficult to achieve. However, Haar wavelets are suitable for modeling data whose low-pass component is the dominant feature and consists of sudden spikes. Daubechies wavelets are a family of orthogonal wavelets, characterized by a maximal number of vanishing moments over a compact interval. Daubechies wavelets model data by smooth, higher order polynomials that capture high frequency transitory behavior and as such represent an improvement over Haar's square-wave basis wavelets in some applications.